Service processor for controlling a user interface

ABSTRACT

A computing device that includes a host processor and a service processor is provided. The host processor is configured to interact with a first user interface. For example, the host processor may be a microprocessor for the device and the first user interface may be a display device. A service processor is provided and can interact with a second user interface. In some cases, the service processor may interact with the second user interface without communicating with the host processor. Accordingly, the service processor can perform functions without relying on the host processor. Using the service processor conserves processing power and also may allow the reduction in size of the device as the service processor may perform the functions previously performed by discrete hardware and the host processor.

CROSS REFERENCES TO RELATED APPLICATIONS

This application claims priority from commonly assigned provisionalpatent application entitled “VISUAL, AUDIO AND TACTILE USER INTERFACE TOA PORTABLE PC SERVICE PROCESSOR”, application No. 60/727,053, filed Oct.14, 2005 the entire disclosure of which is herein incorporated byreference.

BACKGROUND

Embodiments of the present invention generally relate to computing.

User interfaces are typically provided to communicate with a user. Theuser interface is controlled by a host processor of the device that runsan operating system (OS). The user interface is used to provide aninterface between the user and microprocessor. For example, the user maywant to interact with the host processor to have some functionsperformed. Also, a microprocessor may want to send signals to the userinterface to communicate with the user. Any communication with the userinterface has to go through the host processor. By always having tocommunicate with the host processor, valuable processing power is used.This may take away from other tasks that the host processor may beperforming. Also, there are times when the host processor may not beavailable. For example, the host processor may be off to conserve power,not available during error states, or in an inactive state. Thus, a usercannot interact with the host processor during this time and the hostprocessor cannot send signals to relay information to the user throughthe user interface.

SUMMARY

Particular embodiments generally relate to a computing device thatincludes a host processor and a service processor. The host processor isconfigured to interact with a first user interface. For example, thehost processor may be a microprocessor for the device and the first userinterface may be a display device. A service processor is provided andcan interact with a second user interface. In some cases, the serviceprocessor may interact with the second user interface withoutcommunicating with the host processor. Accordingly, the serviceprocessor can perform functions without relying on the host processor.Using the service processor conserves processing power and also mayallow the reduction in size of the device as the service processor mayperform the functions previously performed by discrete hardware and thehost processor.

In one embodiment, an apparatus is provided comprising: a first userinterface; a host processor configured to send a host processor signalsto the first user interface; a second user interface; and a serviceprocessor configured to send a service processor signals to the secondinterface, wherein the service processor may sends the service processora signal to the second interface without communicating with the hostprocessor.

In another embodiment, a method for controlling a user interface isprovided. The method comprises: determining a function to perform forthe user interface at a service processor separate from a hostprocessor; and sending a signal to a user interface element to causeperformance of the function, wherein a host processor is not contactedto cause performance of the function.

A further understanding of the nature and the advantages of particularembodiments disclosed herein may be realized by reference of theremaining portions of the specification and the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of a system according to one embodiment of thepresent invention.

FIG. 2 depicts a simplified flowchart of a method for controllingservice processor 102 according to one embodiment of the presentinvention.

FIG. 3 depicts a simplified flowchart of a method for providing amessage to a user according to one embodiment of the present invention.

FIG. 4 depicts an example of a first user interface and a second userinterface according to one embodiment of the present invention.

FIG. 5 shows an example device according to one embodiment of thepresent invention.

DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 1 shows an example of a system 100 according to one embodiment ofthe present invention. As shown, a device 101 includes a serviceprocessor 102 and host processor 104. Also, a first user interface 106,a second interface 108, and an input device 110 are provided. Althoughthese entities are shown as being part of device 101, it will beunderstood that any of these entities may be part of other devices,detachable from device 101, etc. For example, system 100 may includemodules that may be coupled together to form a computing system.

Device 101 may be any computing device, such as a portable computer,laptop computer, personal digital assistant (PDA), cellular phone,pocket PC, etc. An embodiment of device 101 will be described below. Asdevices 101 become smaller, placing functions that may have normallybeen performed by host processor 104 and transferring them to serviceprocessor 102 allow a reduction in architecture; thus allowing areduction in size of device 101. For example, a substantial portion ofbasic functions previously performed using host processor 104 andhardware may be performed by service processor 102. Host processor 104may still be used to operate the operating system of device 101.However, certain features may be offloaded to service processor 102.This reduces processing load on host processor 104 and also allows somefeatures to be performed while host processor 104 is inactive.

In one embodiment, service processor 102 may use much less power thanhost processor 104. In one example, service processor 102 uses a 60mA@4.2 B and host processor 104 uses 2 A@4.2 B. This reduction in poweralso saves battery life as features performed by service processor 102may use less power.

In one embodiment, service processor 102 may be an embedded controller,such as an acorn RISC machine (ARM). Use of service processor 102 toperform features allows the functions usually performed by a largenumber of board components in hardware to be performed in firmware inservice processor 102. This allows a substantial reduction of the sizeof device 101 as functions are performed in firmware using serviceprocessor 102 rather than having distinct hardware in device 101 toperform these functions.

First user interface 106 and second user interface 108 are used toprovide information to a user. First user interface 106 may be a displaydevice, such as a computer monitor, television, liquid crystal display(LCD), speakers emitting audio, and/or any other device that can conveyinformation to a user.

Second user interface 108 may be any device that can used to provideinformation to a user. In one embodiment, second user interface 108 maybe any number of light emitting diodes (LEDs). However, second userinterface 108 may also be any of the devices listed above for first userinterface 106.

First user interface 106 and second user interface 108 may be connectedto service processor 102 and host processor 104 in a number of differentmanners. Their connections may include the use of a bus or a wirelessprotocol or any other manner in which signals are sent from a processorto a user interface device. This transmission may involve any number ofintermediate steps, such as transmission through a network.

Host processor 104 communicates with first user interface 106 to provideinformation to the user. Service processor 102 communicates with seconduser interface 108 to provide information to a user. In one embodiment,the communication between service processor 102 and second userinterface 108 may be without communicating with host processor 104.There may be circumstances where host processor 104 is inactive orreduced in activity (e.g., in standby mode), but service processor 102may be active. For example, host processor 104 may be inactive early ina boot-up cycle, during error states, and/or during times Whenconservation of power is necessary. However, because service processor102 is based in firmware, service processor 102 may be active. Infirmware, the operating system does not need to be fully booted up forservice processor 102 to provide certain features. Thus, functionalitymay be provided by service processor 102 at times it may not havepreviously been available.

Service processor 102 may be directly in control of second userinterface 108. Accordingly, service processor 102 may communicateinformation to a user through second user interface 108 without the needof host processor 104.

Second interface 108 and service processor 102 allow different functionsto be provided. Service processor 102 may use second user interface 108to relay various messages. In one example, the messages may include thestatus of an operating system, the status of a dock unit, the status ofconnected appliances, the status and condition of power supplies,battery packs and other power systems, or the status of any othersystems managed by service processor 102. Other messages will also beappreciated.

Systems managed by service processor 102 may include any number ofperipheral or integral devices that may interact with host processor104. Such systems include wireless telephones, PDA's, cameras, orautomobiles.

In one embodiment, as will be described in more detail below, LEDs maybe used to relay messages to a user. In one embodiment, four LEDs areused. These lights may be in one of three states—on, off, and pulsing.In this way, service processor 102 can transmit 81 discrete states tothe user. These states may vary over time such that a language using 81discrete characters can be generated.

In one embodiment, user interface 108 may be provided an input device110. Input device 110 may be any input device. For example, input device110 may be a keyboard, porting device, etc. Further, input device 110may receive voice commands, touchscreen commands, etc. In oneembodiment, input device 110 may communicate with service processor 102and/or host processor 104. This communication may request that certainfeatures be performed.

In one embodiment, second user interface 108 may be included in akeyboard or a pointing device. In this case, the keyboard may be used tocommunicate information to the user. For example, LEDs may be includedon a portion of the keyboard and are used to communicate differentmessages to the user.

Also, input device 110 may be any device that can provide input, notnecessarily input by a user. For example, input device 110 may be otherinformation that is determined from some action of a device, such as themovement of device (measured by an accelerometer) or any other cue thatoccurs, such as information detected in a video, information detectedwhile the user is surfing the web, etc. Thus, input may be received fromany device.

Upon receiving input, service processor 102 may perform some action. Forexample, a function may be requested using input device 110. Serviceprocessor 102 can then cause performance of the function. A result ofthe function may be communicated to the user through second userinterface 108. In this case, certain functions may be performed withoutcommunicating with host processor 104. This maybe useful when hostprocessor 104 is in an inactive state or unavailable. Further,offloading functions to be performed by service processor 102 allowsless power to be used and also allows for the reduction in size ofdevice 101. In one example, a keyboard may be controlled by serviceprocessor 102. Accordingly, a desired function may be inputted on thekeyboard and communicated to service processor 102. The desired functionmay then be performed by service processor 102 without the interventionof host processor 104.

FIG. 2 depicts a simplified flowchart 200 of a method for controllingservice processor 102 according to one embodiment of the presentinvention. Step 202 receives input from input device 110 at serviceprocessor 102. The inputs may be received from any input device 110,such as a keyboard, pointer device, etc. Further, service processor 102may detect certain events that occur, such as when an accelerometerdetects certain movement, a signal is received at service processor 102,etc. In other examples, a pointing device may be used to directlyinteract with service processor 102. Further, a function key may be usedto send input to service processor 102.

In step 204, service processor 102 determines a desired function. Forexample, different functions may include the movement of a pointingdevice, performance of a function based on a key stroke, the operationof certain devices controllable by service processor 102, etc. Examplesof operations that can be performed by service processor 102 are listedin table I. TABLE I Feature: A reference clock Voltage meters A photosensor Temperature measurements Measure battery charge, voltage, currentand communicate values to OS Control and measure fan speed Controlbacklight Control the keyboard and keyboard light-emitting diodes (LEDs)Control trackstick and mouse buttons Control power button and powerindicator LED Control central processing unit (CPU) startup and shutdownsequence Write basic input/output system (BIOS) flash duringmanufacturing Implement EC loader for loading and upgrading EC firmwareImplement diagnostics in support of manufacturing test Supply IEEE-1394media access control (MAC) address Communicate with the battery Controltransitions between soft off, running, sleeping, etc. Cockidentification Control scroll wheel and scroll wheel button Measure andcontrol the battery, battery support chips, and LEDs Watch POST outputfrom the CPU during boot Control real time clock Control the mouse andkeyboard interfaces Cock control for splitbridge, trackstick, tablet,IEEE-1394, AC97 codec

In step 206, service processor 102 sends a signal to second userinterface 108. The signal may communicate that a function is beingperformed using second user interface 108. For example, the message maybe the actual performing of the requested function. If it is desiredthat the pointer move, then second user interface 108 may show thepointer being moved across a screen. In another example, the message maybe that the function was performed.

The steps shown in FIG. 2 are performed without intervention of hostprocessor 104. Accordingly, the desired function may be performedwithout using host processor 104. Thus, input device 110 directlyinteracts with service processor 102.

Service processor 102 and second user interface 108 may also be used tosend messages to a user without the intervention of host processor 104.FIG. 3 depicts a simplified flowchart 300 of a method for providing amessage to a user according to one embodiment of the present invention.In step 302, service processor 102 determines a message. This may be anymessage that should be communicated to a user. For example, the statusof first user interface 106, second user interface 108, host processor104, service processor 102, or the systems supplying or managing powerto any of the aforementioned components during a boot up may becommunicated to a user.

In step 304, service processor 102 sends signals to second userinterface 108 to cause output of the message. For example, if LEDs areused, second user interface 108 may display a pattern of LEDs being in acertain state, such as on, off, or pulsing, to relay the message to theuser. Further, if second user interface 108 is a display, then a messagemay be displayed. This message may be sent to second user interface 108without intervention of host processor 104. Accordingly, a message maybe sent to a user while host processor 104 is inactive. This also maysave battery life and processing power as certain messages may be sentto second user interface 108 by service processor 102 without using hostprocessor 104, which may use more power than service processor 102.

FIG. 4 depicts an example of first user interface 106 and second userinterface 108 according to one embodiment of the present invention. Asshown, device 101 includes first user interface 106, second userinterface 108, and input device 110.

In this embodiment, first user interface 106 is a display screen, seconduser interface 108 includes four LEDs, and input device 110 is akeyboard. Although these are shown, it will be understood thatvariations may be provided. For example, different numbers of LEDs maybe provided, different input devices may be used, etc. Further, it willbe understood that devices other than LEDs may be used, such as lasers,lights, any other type of electromagnetic emitting system, etc. In oneembodiment, any device that can relay three states may be used. Also,devices that can relay more than 3 states may also be used. In additionto the three states, the color and intensity of lights may be varied,the pattern or mode of flashing of intermittent lights can be varied,and any arrangement of the lights may be used to provide differentmessages to a user. In one example, the light LEDs may be placed in away to perform a display.

In one embodiment, the LEDs may be positioned substantially in inputdevice 110. For example, the LEDs may be on the keyboard beneath theshift, function, control, and alt keys. These LEDs deliver messagesdirectly from service processor 102 to the user. In one example, serviceprocessor 102 may interact with first user interface 106 to display amessage instead of second user interface 108.

Various messages may be constructed using the LEDs. Service processor102 can display messages to the user through the set of colored LEDs. Inother embodiments, a pattern of beeps or activation of other componentsof device 101 may be provided. Further, the LEDs may be used in additionto providing sound effects from a speaker.

In this example, the LEDs may be in one of three states: on, off, orpulsing. Thus, 81 discrete states may be transmitted to the user. Thesestates may vary over time such that a language using 81 discretecharacters can be generated. Table II includes an example of certainmessages that may be provided. TABLE II SFCA (Shift, Fn, Ctl, Alt) state0000 off 0001 shmoo, restart, or power button seen 0010 SUSB_&&SUSC_seen 0011 PWRGOOD_CPU seen 0100 PWRGOOD_CPU seen 0101 POWERGOODasserted, doing POST 0110 initialize SIO 0111 initialize RTC 1000initialize mouse interface 1001 initialize keyboard interface 1010initialize power management 0 1011 initialize power management 1 1100assert POWERGOOD on resume 1101 initialize I2C, PLL 1110 initializeaccelerometer ADC on resume 0010 WAIT_PWRGOOD_CPU_RESUME 0011 wait forpower to be good 0100 WAIT_POWERGOOD_RESUME 0110 as above.... also 1100PCI reset, FORCE_STARTUP_V_asserted during EC load bit 0 reading databit 1 crc error bit 2 flash erase error bit 3 flash write error

The state of the four LEDs on input device 110 transmits information insuch a way that a user can achieve a detailed understanding of a messagebeing sent by service processor 102. This is well beyond the capabilityof devices that may include a single light]. For example, serviceprocessor 102 is an embedded controller that can perform a variety ofprocessing features using firmware. This allows more intelligentmessages to be composed and provided through the LEDs.

Given that four LED's are available each of which can enter 3 states(on, off, blinking) a total of 81 states can be generated. These 81states may themselves be changed over time, providing the user with an81 character language through which the service processor communicatesto them through generating patterns of LED's. This information can bedelivered in such a manner to provide the user a rich understanding ofthe internal states of the service processor 102 or the host processor104.

In one embodiment, each of the LED's that make up second user interface108 are associated with one of the keys in the keyboard of input device110. In this particular embodiment, input device 110 is able to provideboth the function of a standard input device, such as a keyboard,keypad, mouse, trackball, trackstick or joystick, but is also configuredto act as second user interface 108. As this second user interface 108is controlled by service processor 102 instead of host processor 104,second user interface 108 can operate in modes that deliver informationto the user that enriches, aids, or expands his/her ability to make useof input device 110, which may interact with either service processor102 or host processor 104.

Thus, in one embodiment, the interaction of the service processor 102with the LED's of second user interface 108 and the keyboard of inputdevice 110 creates a keyboard that may both send and receiveinformation. The LED's, placed in association with the keys andcontrolled by service processor 102 can provide the user many differentclasses of information. This information can include the state ofservice processor 102, the state of host processor 104, or the state ofapplications running on either of these processors. The information canbe provided in response to input generated by the user through inputdevice 110 or user interface 108 at a very high rate, as both devicesinteract with service processor 102.

In one embodiment, as the user depresses keys on the keyboard, serviceprocessor 102 may illuminate LED's or other light emitting elementsassociated with certain other keys. Thus, the keyboard acts as both aninput and an output device. This function is useful for many purposesincluding games that can be played on the keyboard without the use offirst user interface 106 or in concert with activities performed onfirst user interface 106. This function is useful for many purposesincluding word processing applications where the service processor 102may recommend certain key strokes to facilitate correct spelling orgrammar. This function is also useful for other purposes including phonebook applications where the service processor 102 may recommend certainkey strokes to aid the user in finding the correct phone number, emailaddress or other piece of information with the least number of keystrokes. Also, any application may be used to provide the user withinformation regarding which keys on input device 110 to depress to meettheir needs.

Second user interface 108 may also perform functions other thanproviding messages to a user. For example, through the use of a patternof emission of electromagnetic radiation released through the LEDs,device 101 may be able to communicate with other machines. If anotherdevice can recognize a pattern of pulsing lights from the LEDs, amessage may be relayed to another device. Accordingly, the keyboard andsecond user interface 108 may be used as an output device not only tothe user but to other devices capable of receiving electromagneticsignals.

The LEDs may also deliver information about the state of serviceprocessor 102. For example, during boot-up, the lights may blink to showthe user what state of the boot-up it is in. This may be before hostprocessor 108 boots up the operating system. For example, the LEDs mayindicate checkpoints for service processor 102 during the boot-upprocess. These checkpoints allow the user to directly observe the stepsthat service processor 102 takes while booting up device 101. Thesecheckpoints may be useful for diagnostic purposes if device 101 failsduring the boot process. For example, the pattern of lights shown on thekeyboard is useful in diagnosing the failure during the boot process.

Second user interface 108 may communicate to the user through means thatinvolve tactile communication through vibration, the delivery ofelectrical shocks or other user interface methods which interact withthe user's skin.

Also, the LEDs are also useful in non-failure situations as they providethe user with useful feedback on the state of the boot-up process wellbefore first user interface 106 is able to provide any such information.That is, before host processor 104 boots up the operating system and candisplay information on first user device 106, information may bedisplayed through second user interface 108. This is because serviceprocessor 102 operates using firmware and does not need to interact withhost processor 104 or rely on the operating system being booted up torelay messages to second user interface 108.

Using the LEDs, keyboard 110 may be able to deliver information aboutthe state of the keyboard itself. Although conventionally the state ofthe keys on the keyboard is known, such as a caps lock light, the LEDsare able to deliver more information than a simple binary on and offstate. This is because service processor 102 is able to perform morecomplex computations and to compose messages rather than simple binaryon and off states.

In one example, the state of keys on input device 110 may be relayedthrough second user interface 108. For example, the keys associated withthe LEDs have three modes. These modes are independent of the action ofthe pattern of flashing lights delivered during start-up. However, thisexample shows how service processor 102 may provide advanced messagesand communication to a user when interacting with input device 110. Thisalso expands the messages that can be relayed to a user based on inputfrom input device 110.

In the first mode, an LED associated with a key may be off. Thisindicates that the key has not been depressed and modifications to otherkey strokes (e.g. the shift, alt, control, or function effects ofpressing a key) may not be delivered.

In another mode, an LED associated with a key is flashing. Thisindicates that a key (e.g., a key associated with the LED) has beendepressed once and modifications to other keystrokes may be delivereduntil the next single key is pressed (although an exception of adepression of that particular key or other keys with modifier functionssuch as shift, control, alt, or function may exist. For example, if theshift key has been pressed once and a user presses an alpha/numeric key,such as the letter “a”, then the letter will be capitalized as a letter“A”. This is different from just holding down the shift key and havingto press the letter “A”. Using this mode the user does not have to holddown the shift key and press the letter “A”. This may be useful on smallkeyboards, such as those found on cellular phones, PDAs, pocket PCs,Blackberry devices, etc. Users may have to use their thumbs to type onthese keyboards and thus the simultaneously holding down of the shiftkey and pressing one of the buttons may be harder than just pressing theshift key once and then the “A” key.

In a third mode, an LED associated with a key is lit. This indicatesthat the key has been depressed twice and modifications to otherkeystrokes may be delivered to all keys pressed until the key with theindicator is pressed again or any other indication that the keystrokemodification is not desired anymore is received. For example, if a shiftkey has been pressed twice, then any keys pressed after this may becapitalized until the shift key is pressed again. By using this system,the use of a caps lock key does not need to be provided. Accordingly,the caps lock key does not need to be included in input device 110. Thissaves space on a keyboard that may be valuable when device 101 is small.Further, this increases the functionality of a keyboard while savingspace. Thus, the use of a caps lock key, control lock, alt lock, andfunction lock are provided without the addition of more keys.

FIG. 5 shows an example device 101 according to one embodiment of thepresent invention. In one embodiment, device 101 may be a portabledevice. In one embodiment, the dimensions of device 500 may be a length,L, of substantially 4 inches; a width, W, of substantially 3 inches; anda height, H, of substantially ¾ inches. Additionally, the display may bea little under substantially 3 inches wide and substantially 4 incheslong.

Input device 110 and second user interface 108 are also shown. Seconduser interface 108 may be substantially near/in input device 110. Thismakes it seem like input device 110 is being used as an interface to theuser. Although this placement is provided, it will be understood thatother layouts may be appreciated.

Although the description has been described with respect to particularembodiments thereof, these particular embodiments are merelyillustrative, and not restrictive. Although a service processor isdescribed, it will be understood that other processors may be used.

Any suitable programming language can be used to implement the routinesof particular embodiments including C, C++, Java, assembly language,etc. Different programming techniques can be employed such as proceduralor object oriented. The routines can execute on a single processingdevice or multiple processors. Although the steps, operations, orcomputations may be presented in a specific order, this order may bechanged in different particular embodiments. In some particularembodiments, multiple steps shown as sequential in this specificationcan be performed at the same time. The sequence of operations describedherein can be interrupted, suspended, or otherwise controlled by anotherprocess, such as an operating system, kernel, etc. The routines canoperate in an operating system environment or as stand-alone routinesoccupying all, or a substantial part, of the system processing.Functions can be performed in hardware, software, or a combination ofboth. Unless otherwise stated, functions may also be performed manually,in whole or in part.

In the description herein, numerous specific details are provided, suchas examples of components and/or methods, to provide a thoroughunderstanding of particular embodiments. One skilled in the relevant artwill recognize, however, that a particular embodiment can be practicedwithout one or more of the specific details, or with other apparatus,systems, assemblies, methods, components, materials, parts, and/or thelike. In other instances, well-known structures, materials, oroperations are not specifically shown or described in detail to avoidobscuring aspects of particular embodiments.

A “computer-readable medium” for purposes of particular embodiments maybe any medium that can contain, store, communicate, propagate, ortransport the program for use by or in connection with the instructionexecution system, apparatus, system, or device. The computer readablemedium can be, by way of example only but not by limitation, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, system, device, propagation medium, orcomputer memory.

Particular embodiments can be implemented in the form of control logicin software or hardware or a combination of both. The control logic,when executed by one or more processors, may be operable to perform thatwhat is described in particular embodiments.

A “processor” or “process” includes any human, hardware and/or softwaresystem, mechanism or component that processes data, signals, or otherinformation. A processor can include a system with a general-purposecentral processing unit, multiple processing units, dedicated circuitryfor achieving functionality, or other systems. Processing need not belimited to a geographic location, or have temporal limitations. Forexample, a processor can perform its functions in “real time,”“offline,” in a “batch mode,” etc. Portions of processing can beperformed at different times and at different locations, by different(or the same) processing systems.

Reference throughout this specification to “one embodiment”, “anembodiment”, “a specific embodiment”, or “particular embodiment” meansthat a particular feature, structure, or characteristic described inconnection with the particular embodiment is included in at least oneembodiment and not necessarily in all particular embodiments. Thus,respective appearances of the phrases “in a particular embodiment”, “inan embodiment”, or “in a specific embodiment” in various placesthroughout this specification are not necessarily referring to the sameembodiment. Furthermore, the particular features, structures, orcharacteristics of any specific embodiment may be combined in anysuitable manner with one or more other particular embodiments. It is tobe understood that other variations and modifications of the particularembodiments described and illustrated herein are possible in light ofthe teachings herein and are to be considered as part of the spirit andscope.

Particular embodiments may be implemented by using a programmed generalpurpose digital computer, by using application specific integratedcircuits, programmable logic devices, field programmable gate arrays,optical, chemical, biological, quantum or nanoengineered systems,components and mechanisms may be used. In general, the functions ofparticular embodiments can be achieved by any means as is known in theart. Distributed, networked systems, components, and/or circuits can beused. Communication, or transfer, of data may be wired, wireless, or byany other means.

It will also be appreciated that one or more of the elements depicted inthe drawings/figures can also be implemented in a more separated orintegrated manner, or even removed or rendered as inoperable in certaincases, as is useful in accordance with a particular application. It isalso within the spirit and scope to implement a program or code that canbe stored in a machine-readable medium to permit a computer to performany of the methods described above.

Additionally, any signal arrows in the drawings/Figures should beconsidered only as exemplary, and not limiting, unless otherwisespecifically noted. Furthermore, the term “or” as used herein isgenerally intended to mean “and/or” unless otherwise indicated.Combinations of components or steps will also be considered as beingnoted, where terminology is foreseen as rendering the ability toseparate or combine is unclear.

As used in the description herein and throughout the claims that follow,“a”, “an”, and “the” includes plural references unless the contextclearly dictates otherwise. Also, as used in the description herein andthroughout the claims that follow, the meaning of “in” includes “in” and“on” unless the context clearly dictates otherwise.

The foregoing description of illustrated particular embodiments,including what is described in the Abstract, is not intended to beexhaustive or to limit the invention to the precise forms disclosedherein. While specific particular embodiments of, and examples for, theinvention are described herein for illustrative purposes only, variousequivalent modifications are possible within the spirit and scope, asthose skilled in the relevant art will recognize and appreciate. Asindicated, these modifications may be made to the present invention inlight of the foregoing description of illustrated particular embodimentsand are to be included within the spirit and scope.

Thus, while the present invention has been described herein withreference to particular embodiments thereof, a latitude of modification,various changes and substitutions are intended in the foregoingdisclosures, and it will be appreciated that in some instances somefeatures of particular embodiments will be employed without acorresponding use of other features without departing from the scope andspirit as set forth. Therefore, many modifications may be made to adapta particular situation or material to the essential scope and spirit. Itis intended that the invention not be limited to the particular termsused in following claims and/or to the particular embodiment disclosedas the best mode contemplated for carrying out this invention, but thatthe invention will include any and all particular embodiments andequivalents falling within the scope of the appended claims.

1. An apparatus comprising: a first user interface; a host processorconfigured to send host processor signals to the first user interface; asecond user interface; and a service processor configured to sendservice processor signals to the second interface, wherein the serviceprocessor sends a service processor signal to the second interfacewithout communicating with the host processor.
 2. The apparatus of claim1, wherein the service processor signal causes a function to beperformed without communication with the host processor.
 3. Theapparatus of claim 1, wherein the service processor signal causesinformation to be outputted on the second user interface.
 4. Theapparatus of claim 3, wherein the information comprises a pattern oflights, wherein one or more patterns can form one or more messages to auser.
 5. The apparatus of claim 1, further comprising an input deviceconfigured to communicate with the service processor to cause theservice processor to send the signal, wherein the communication betweenthe input device and the service processor is performed withoutcommunicating with the host processor.
 6. The apparatus of claim 1,wherein the service processor sends the service processor signal to thesecond user interface when the host processor is not active.
 7. Theapparatus of claim 1, wherein the service processor signal controls afunction of an item on the second user interface.
 8. The apparatus ofclaim 1, wherein the second user interface is located in an inputdevice.
 9. The apparatus of claim 8, wherein the input device comprisesa keyboard and the second user interface comprises a plurality of lightemitting elements, wherein the plurality of light emitting elementsallow messages to be generated to provide information to a user.
 10. Theapparatus of claim 9, wherein the plurality of light emitting elementsare associated with a plurality of keys on the keyboard to provideinformation about a status of the plurality of keys, the status beingone or three or more states.
 11. The apparatus of claim 10, wherein theplurality of light emitting elements allow communication with a seconddevice.
 12. The apparatus of claim 1, wherein the second user interfaceis configured to send information to a device using the second userinterface.
 13. The apparatus of claim 1, wherein the second userinterface is configured to display three or more messages based on theservice processor signal.
 14. The apparatus of claim 1, wherein thesignal causes tactile communication to be provided through the seconduser interface.
 15. A method for controlling a user interface, themethod comprising: determining a function to perform for the userinterface at a service processor separate from a host processor; andsending a signal to a user interface element to cause performance of thefunction, wherein a host processor is not contacted to cause performanceof the function.
 16. The method of claim 15, wherein performance of thefunction comprises providing a message to a user through the userinterface.
 17. The method of claim 16, wherein the message comprises oneor more patterns formed using a light emitting device.
 18. The method ofclaim 15, wherein the signal provides messages to provide information toa user through a plurality of light emitting elements on an inputdevice.
 19. The method of claim 18, wherein the plurality of lightemitting elements are associated with a plurality of keys on the inputdevice to provide information about a status of the plurality of keys,the status being one or three or more states.
 20. The method of claim19, wherein the plurality of light emitting elements allow communicationwith a second device.
 21. The method of claim 15, wherein the signalcauses tactile communication to be provided through the second userinterface.
 22. The method of claim 15, further comprising receiving asignal from an input device, wherein the function to perform isdetermined based on the signal from the input device.
 23. The method ofclaim 15, wherein the service processor causes performance of thefunction when the host processor is not active.
 24. The method of claim15, wherein the function controls an item on the user interface.
 25. Themethod of claim 15, wherein the user interface is configured to sendinformation to a device using the second user interface.
 26. The methodof claim 15, wherein the user interface is configured to display threeor more messages based on the function to be performed.
 27. The methodof claim 15, wherein the host processor is configured to communicatewith a second user interface.